草庐IT

ES 脚本

全部标签

javascript - 使用 JavaScript ES6 模块导入现有库

如何使用JavaScript的ES6模块加载和运行现有库?例如,假设我需要加载一个现有的polyfill:import{poly}from"thirdParty/poly";如何运行导入的poly脚本并将其属性加载到当前命名空间而不更改源?这里有两个实际问题可以帮助阐明我要解决的问题:我有一个名为rafPolyfill.js的脚本这是window.requestAnimationFrame的polyfill。我需要将它导入全局范围并在加载后立即运行它。使用很容易做到这一点标签:它运行并将自身加载到全局范围内。如何使用ES6模块完成此操作?我有另一个名为Font.js的脚本这是字体的预加

javascript - 从内容脚本向后台脚本发送消息会破坏 chrome 扩展

我正在尝试将消息从内容脚本发送到chrome扩展中的后台脚本,该扩展会触发丰富的通知打开。我已经可以做到这一点,但它破坏了我扩展的其余部分。在我的内容脚本中,我调用了chrome.extension.sendMessage,我在其中加载了我的扩展代码。这一切都很好,直到我添加了我的通知代码,我决定使用chromeRichNotificationsAPI,因为我最终希望在我的通知中有按钮,并且我相信只有后台脚本才能打开丰富的通知,因此消息的需要。如果我注释掉background.js中的chrome.runtime.OnMessage.addListener函数,我的扩展逻辑将再次正确加

javascript - ES6 箭头函数正在改变 Meteor.publish 中 this 的范围

这个问题在这里已经有了答案:Whatdoes"this"refertoinarrowfunctionsinES6?(10个答案)关闭7年前。所以我开始在Meteor中使用ES6,但显然如果你尝试使用带有箭头函数的Meteor.publish语法,this.userId是未定义的,而如果您将它与常规function(){}一起使用,this.userId可以完美运行,我假设是一种分配不同这,到userId但这只是一个猜测,有谁知道到底发生了什么?Meteor.startup(function(){Meteor.publish("Activities",function(){//withf

javascript - 在生产中调试缓存破坏脚本

我正在做一个前端项目(JavaScript文件),服务器在URL的末尾添加了一个缓存清除值,例如,http://www.example.com/myfile.js&bust=0.5647534393我的问题是我在重新加载后丢失了在Chrome的开发者工具中设置的所有断点。我无权访问服务器以禁用它。有什么办法可以解决这个限制?更新:将debugger;添加到JS源代码不是一个可行的解决方案,因为我正在调试生产代码。 最佳答案 您可以使用URL重写Chrome插件,例如Requestly(不是免费的)或Redirector(免费)并为您

javascript - 如何推送到 Angular 4 中的数组 Observable?接收脚本

我的服务类有一个属性:articles:Observable;它由使用标准http.get().map()解决方案的getArticles()函数填充。如何手动将新文章推送到这个数组中;一个尚未持久化因此不是httpget的一部分?我的场景是,您创建了一篇新文章,在保存之前我希望Article[]数组将这个新文章推送到它,以便它显示在我的文章列表中。此外,此服务在2个组件之间共享,如果组件A使用ngOnInit()消费服务并将结果绑定(bind)到重复部分*ngFor,更新组件B的服务数组是否会同时更新组件A的ngFor部分中的结果?还是我必须手动更新View?非常感谢,西蒙

javascript - Jest : Mock ES6 Module with both default and named export

我有一个带有默认导出和命名导出的ES6模块:/**/src/dependency.js**/exportfunctionutilityFunction(){returnfalse;}exportdefaultfunctionmainFunction(){return'foo';}它被第二个ES6模块使用:/**/src/myModule.js**/importmainFunction,{utilityFunction}from'./dependency';//EDIT:Fixedsyntaxerrorincodesample//exportdefaultmyModule(){expor

javascript - 如何使用 Google Apps 脚本在 Google 表单中获取 URL 参数?

所以我有一个Google表单,我想在其中传递来自电子邮件链接的参数,如下所示:https://docs.google.com/URL/forms/d/LONGSTRING/viewform?id=12345我希望能够获取该ID并将其传递到记录结果的电子表格中。现在我已经写下了电子表格,但获取ID是有问题的。我已经试过了:functiondoGet(e){varid=e.parameter.id;Logger.log(id);}和functiondoPost(e){varid=e.parameter.id;Logger.log("dopost"+id);}当我查看执行记录时,两者都会抛出

javascript - ES6 为什么在循环中定义时可以重新分配常量

我正在尝试一些毫无意义的逻辑以更好地理解ES6,并且在定义常量时注意到了一个奇怪的现象。在循环中定义时,似乎可以更改常量赋值:"usestrict";for(consti=0;i这是预期的行为吗?任何人都可以阐明为什么会发生这种情况,循环中的声明是否不同?更新自Statements/constThisdeclarationcreatesaconstantthatcanbeglobalorlocaltothefunctioninwhichitisdeclared.Constantsareblock-scoped. 最佳答案 当您修改“

javascript - window.System 对象是 JavaScript ES6 的必需部分吗

不久前我读到Systemobject是es6模块的必需部分,基本上是一种新的对象类型,具有模块加载所需的所有语义。这是严格的es6要求吗?它似乎不在最新规范中。 最佳答案 全局System对象不是ES2015的一部分。包含System的模块加载API已从ES2015规范中删除Draft28,October2014.模块加载现在由单独的WhatWGloaderspec跟踪.在https://github.com/ModuleLoader/es6-module-loader的草案27(包括System)中指定了模块加载器API的实现。.

Javascript (ES6) 可迭代流

是否有使用ES6生成器使流可迭代的模式?请参阅下面的“MakeStreamIterable”。import{createReadStream}from'fs'letfileName='largeFile.txt'letreadStream=createReadStream(fileName,{encoding:'utf8',bufferSize:1024})letmyIterableAsyncStream=MakeStreamIterable(readStream)for(letdataofmyIterableAsyncStream){letstr=data.toString('utf